发起一次充值请求时需要创建一个新的 recharge
对象,获取一个可用的 charge
对象用于客户端向第三方渠道发起支付请求。如果使用测试模式的 API Key,则不会发生真实交易。当充值成功后,Ping++ 会发送 Webhooks 通知。
注 :此接口暂不支持跨境渠道。
请求参数 | 描述 |
---|---|
APP_ID required string | 对应 app 对象的 id ,该参数仅需要填写在请求地址内,查看 如何获取App ID。 |
user required string | 充值目标 user 对象的 id ,64 位以内。 |
charge[amount] required integer | 支付金额,单位为分,取值范围 0~1000000000。 |
charge[channel] required string | 支付使用的第三方支付渠道,详情参考支付渠道属性值。除此之外,还支持自定义渠道 custom ,该渠道不需要真实支付,仅对用户 "0" 有效。 |
charge[order_no] required string | 商户订单号,适配每个渠道对此参数的要求,必须在商户的系统内唯一。长度限制在 8~20 位。 |
charge[subject] required string | 商品标题,该参数最长为 32 个 Unicode 字符。银联全渠道限制在 32 个字节;支付宝部分渠道不支持特殊字符;cmpay 渠道限制为 1~25 个 Unicode 字符;isv_lite 渠道限制为:1~20 个 unicode 长度,不允许以下特殊字符串"\n\r,,~!@#¥%……&*()【】「」" 。 |
charge[body] required string | 描述信息,该参数最长为 128 个 Unicode 字符,yeepay_wap 对于该参数长度限制为 100 个 Unicode 字符。 |
charge[time_expire] optional timestamp | 订单失效时间的 Unix 时间戳。时间范围在订单创建后的 1 分钟到 15 天,默认为 1 天,创建时间以 Ping++ 服务器时间为准。微信对该参数的时间范围在订单创建后的 1 分钟到 7 天,默认为 2 小时;upacp、upacp_pc、upacp_wap、cp_b2b、applepay_upacp 渠道对该参数的有效值限制为 1 小时内;upacp_b2b 对该参数的有效值限制为 1 天内;upacp_qr 渠道对该参数的有效期默认为 1 天,最大为 30 天;此参数对 paypal 及 scan 类渠道无效。 |
charge[client_ip] optional string | 发起支付请求客户端的 IP 地址,支持 IPv4、IPv6 格式。 |
charge[extra] conditional hash | 特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数,详细参考支付渠道 extra 参数说明。 |
user_fee optional integer | 充值收取的用户手续费,单位为分,不得大于 charge[amount] ,不可和 balance_bonus[amount] 同时使用,默认 0。 |
balance_bonus[amount] optional integer | 充值赠送的余额,单位为分,不可和 user_fee 同时传,默认 0。 |
from_user optional string | 充值来源 user 对象的 id ,默认和 user 相同,即给自己充值。 |
description optional string | 附加说明,最多 255 个 Unicode 字符。 |
metadata optional hash | 详见 元数据。 |
返回
返回一个 recharge
对象,或者返回一个错误,详见 错误。
POST https://api.pingxx.com/v1/apps/{APP_ID}/recharges
待补充
待补充
待补充
待补充
待补充
待补充
待补充
curl https://api.pingxx.com/v1/apps/app_1Gqj58ynP0mHeX1q/recharges \ -H "Pingplusplus-Signature: {SIGNATURE}" \ -H "Pingplusplus-Request-Timestamp: 1496728534" \ -u sk_test_ibbTe5jLGCi5rzfH4OqPW9KC: \ -d '{ "user": "test_user_02", "user_fee": 100, "from_user": "test_user_01", "charge": { "amount":1000, "channel":"upacp", "time_expire": 1496826528, "order_no":"20161000167", "subject": "测试订单007测试订单007&", "body": "订单内容007", "client_ip":"127.0.0.1", "extra":{} }, "client_ip": "127.0.0.1", "description": "Your description" }'
待补充
待补充
待补充
待补充
待补充
待补充
待补充
{
"id": "2001706060000002372",
"object": "recharge",
"app": "app_1Gqj58ynP0mHeX1q",
"created": "1496740128",
"livemode": false,
"amount": 1000,
"succeeded": false,
"time_succeeded": null,
"refunded": false,
"user": "test_user_02",
"from_user": "test_user_01",
"user_fee": 100,
"charge": {
"id": "ch_SejbHOrzbjvPunjHmD08SCi9",
"object": "charge",
"created": 1496740128,
"livemode": false,
"paid": false,
"refunded": false,
"reversed": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "upacp",
"order_no": "20161000167",
"client_ip": "127.0.0.1",
"amount": 10000,
"amount_settle": 10000,
"currency": "cny",
"subject": "测试订单007测试订单007&",
"body": "订单内容007",
"extra": {},
"time_paid": null,
"time_expire": 1496826528,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_SejbHOrzbjvPunjHmD08SCi9/refunds",
"has_more": false,
"data": []
},
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"upacp": {
"tn": "201409161028470000000",
"mode": "01"
}
},
"description": null
},
"balance_bonus": {},
"refunds": {},
"balance_transaction": "",
"description": "",
"metadata": {}
}